home *** CD-ROM | disk | FTP | other *** search
/ PC Online 2000 October / Pc Online Ekim 2000.iso / prog / mail / 08 / setup.exe / data1.cab / Migration_Files / Migobj.h next >
Encoding:
C/C++ Source or Header  |  2000-01-09  |  8.6 KB  |  171 lines

  1. #ifndef _MIGOBJ_
  2. #define _MIGOBJ_
  3.  
  4. #define MIG_ACCT    0x00000001
  5. #define MIG_FOLD    0x00000002
  6. #define MIG_MSGS    0x00000004
  7. #define MIG_ADDR    0x00000008
  8.  
  9. #define FOLDID_INBOX    1
  10. #define FOLDID_OUTBOX    2
  11. #define FOLDID_SENT        3
  12. #define FOLDID_TRASH    4
  13.  
  14. typedef void * (*PFNCREATEACCT)(struct _MigAcct *);
  15. typedef int (*PFNCREATEFOLD)(void *, int, char *, int, int[10], int, int);
  16. typedef char * (*PFNGETFOLDPATH)(void *, int);
  17. typedef int (*PFNADDTOFOLD)(void *, int, char *);
  18. typedef int (*PFNSAVEFOLD)(void *, int);
  19. typedef int (*PFNADDRBOOK)(char *, int, int);
  20. typedef int (*PFNADDTOBOOK)(int, struct _MigAddr *);
  21.  
  22. typedef struct _MigInfo{
  23.     HINSTANCE hi;        //Set by PMMail...do not set
  24.     char *libname;        //Set this to the name of your library
  25.  
  26.     BOOL available;        //is your product installed on this machine?
  27.     BOOL mig;            //should the product be migrated by default?
  28.     char *product;        //Set this to the name of the prodcut (including version) found
  29.     char *path;            //Set this to the path where the product is installed
  30.     ULONG infofound;    //Or (|) the MIG_ constants together to define what info is available
  31.     ULONG infomig;        //Or (|) the MIG_ constants together to define what info should be migrated
  32.     void *userdata;        //This is for library defined data
  33.  
  34.     char *author;        //Place your name here
  35.     char *copyright;    //Place a copyright message here
  36.     char *comment;        //Place a comment here
  37.     
  38.     struct _MigInfo *next;    //Set by PMMail...do not set
  39.     BOOL finished;            //Set by PMMail...do not set
  40. } MigInfo, *pMigInfo;
  41.  
  42. typedef struct _MigAcct{
  43.     char *acctname;        //The account description (text next to the icon)
  44.     char *fromemail;    //The From: e-mail address
  45.     char *fromreal;        //The From: real name
  46.     char *replyemail;    //The Reply-To: e-mail address
  47.     char *replyreal;    //The Reply-To: real name
  48.  
  49.     int recvsmtp;        //0==receive with POP, 1==receive with SMTP
  50.     char *poprecvserv;    //The POP server name used for fetching
  51.     int poprecvport;    //The port on the POP server to connect to
  52.     char *poprecvid;    //The POP login name
  53.     char *poprecvpass;    //The POP password
  54.     int ignore;            //0==do not ignore messages based on size, 1==ignore messages > size
  55.     int leave;            //0==do not leave all messages on server, 1==to leave messages on server
  56.     int size;            //The size of messages to ignore
  57.     int useservview;    //0==do not receive using Remote Control, 1==to use remote control to receive
  58.     char *smtppath;        //the path where messages can be SMTP received at
  59.     int poll;            //0==do not auto-poll for new mail, 1==poll for new mail
  60.     int interval;        //the interval to poll at
  61.  
  62.     int sendpop;        //0==Send using POP, 1==send using SMTP
  63.     char *smtpsendserv;    //the SMTP server used for sending
  64.     int smtpsendport;    //the port to connect to on the SMTP send server
  65.     char *popsendserv;    //the POP server used for sending
  66.     int popsendport;    //the port on the POP server to connect to
  67.     char *popsendid;    //the POP login name
  68.     char *popsendpass;    //the POP password
  69.     int saveout;        //0==do not save a copy of outgoing messages, 1==do save a copy
  70.     int wraptype;        //0==no wrap, 1==Reflow, 2==WYSIWYG
  71.     int wraplen;        //Length of line for reflow wrapping
  72.     int html;            //Send mail in HTML format
  73.     int defatttype;        //1==MIME, 2==UUEncode, 3==BinHex
  74.     int safterf;        //0==do not send after fetch, 1==send after fetch
  75.  
  76.     int viewfull;        //0==do not view the full header of a message by default, 1==do!
  77.     int noquote;        //0==do not quote message text in replies by default, 1==do!
  78.     char *quotepre;        //The quoting string
  79.     int sysbeep;        //0==do not play a system beep on new mail, 1==do!
  80.     int wav;            //0==do not play a wave file on new mail, 1==do!
  81.     char *wavfile;        //The wave file to play
  82.     int passprot;        //0==not password protected, 1==password protected
  83.     char *acctpass;        //the password
  84.     int startopen;        //0==start with the account closed, 1==start open
  85.     int startsend;        //0==do not send pending mail for this account on startup, 1==do!
  86.     int startfetch;        //0==do not fetch this account on startup, 1==do!
  87.     int emptytrash;        //0==do not empty trash on shutdown, 1==do!
  88.     int truedel;        //0==do not perform true deletes, 1==do! (a true delete does not put messages
  89.                         //                                          in the trash folder).
  90.  
  91.     int spellalways;    //0==do not auto-spellcheck every outgoing mail, 1==do!
  92.     int skipcaps;        //0==do not skip words in capitals, 1==do!
  93.     int skipquote;        //0==do not skip quoted lines, 1==do!
  94.     int skipnum;        //0==do not skip words containing number, 1==do!
  95.  
  96.     int askcloprog;        //0==do not confirm closing PMMail, 1==do
  97.     int askclocomp;        //0==do not confirm closing an outgoing message, 1==do
  98.     int askrepatt;        //0==do not confirm attachemnt decode when duplicate filename exists, 1==do
  99.     int promdelmes;        //0==do not confirm message delete, 1==do
  100.     int promdelfold;    //0==do not confirm folder deletion, 1==do (ALWAYS set this to 1)
  101.     int promdelacct;    //0==do not confirm account deletion, 1==do (ALWAYS set this to 1)
  102.  
  103.     int useext;            //0==use the internal editor, 1==use external editor
  104.     char *editor;        //the full path to the external edit exe file
  105.     char *args;            //arguments to the external editor
  106.     int type;            //not used...for compatibility
  107.     int editcomp;        //use external editor for composing
  108.     int editread;        //use external editor for reading
  109.  
  110.     int sendexit;        //0==do not use a send hook, 1==do
  111.     int recvexit;        //0==do not use a receive hook, 1==do
  112.     int sendbg;            //0==run send hook in foreground, 1==run it in the background
  113.     int recvbg;            //0==run receive hook in foreground, 1==run it in the background
  114.     char *hooksend;        //executable file to run for the send hook
  115.     char *hookrecv;        //executable file to run for the receive hook
  116.     int custf;            //0==do not use a custom fetch hook, 1==do
  117.     int custs;            //0==do not use a custom send hook, 1==do
  118.     int custfbg;        //0==run custom fetch in foreground, 1==run it in the background
  119.     int custsbg;        //0==run custom send in foreground, 1==run it in the background
  120.     char *hookcustf;    //executable file to run for custom fetch
  121.     char *hookcusts;    //executable file to run for custom send
  122.  
  123.     int usephrase;        //0==prompt me for my PGP passphrase, 1==use the passphrase variable below
  124.     int remphrase;        //0==forget my passphrase after using it, 1==remember my passphrase for the remainder of the session
  125.     char *passphrase;    //PGP passphrase
  126.     int signall;        //0==don't sign all outgoing messages, 1==do
  127.     int inclpub;        //0==don't include my public key on all outgoing messages, 1==do
  128.     int inclprint;        //0==don't include my public key fingerprint on all outgoing messages, 1==do
  129.     int secwarn;        //0==don't warn me about security issues, 1==do
  130. } MigAcct, *pMigAcct;
  131.  
  132. typedef struct _MigAddr{
  133.     int group;            //0==this is an address, 1==this is a group
  134.  
  135.      char *Alias;        //The alias for this entry
  136.     char *Name;            //The real name (only valid for addresses, not for groups)
  137.     char *EMail;        //The e-mail address (only valid for addresses, not for groups)
  138.  
  139.     char *Company;        //The company the person works for (only valid for addresses, not for groups)
  140.     char *Title;        //Their title within the company (only valid for addresses, not for groups)
  141.     char *HStreet;        //Their home street address (only valid for addresses, not for groups)
  142.     char *HBuild;        //Their home building (only valid for addresses, not for groups)
  143.     char *HCity;        //Their home city (only valid for addresses, not for groups)
  144.     char *HState;        //Their home state (only valid for addresses, not for groups)
  145.     char *HPC;            //Their home postal code (only valid for addresses, not for groups)
  146.     char *HPhone;        //Their home phone (only valid for addresses, not for groups)
  147.     char *HExt;            //Their home extension (only valid for addresses, not for groups)
  148.     char *HFAX;            //Their home fax number (only valid for addresses, not for groups)
  149.     char *HCountry;        //Their home country (only valid for addresses, not for groups)
  150.     char *BStreet;        //Their work street address (only valid for addresses, not for groups)
  151.     char *BBuild;        //Their work building (only valid for addresses, not for groups)
  152.     char *BCity;        //Their work city (only valid for addresses, not for groups)
  153.     char *BState;        //Their work state (only valid for addresses, not for groups)
  154.     char *BPC;            //Their work postal code (only valid for addresses, not for groups)
  155.     char *BCountry;        //Their work country (only valid for addresses, not for groups)
  156.     char *BPhone;        //Their work phone (only valid for addresses, not for groups)
  157.     char *BExt;            //Their work extension (only valid for addresses, not for groups)
  158.     char *BFAX;            //Their work fax number 
  159.  
  160.     char *Notes;        //Notes about this user
  161.     char *File;            //File containing group definition (only valid for groups, not for addresses)
  162.  
  163.     int inpopup;        //0==exclude this address/group from the RMB popup menu, 1==put it in!
  164. } MigAddr, *pMigAddr;
  165.  
  166. #endif
  167.  
  168.  
  169.  
  170.  
  171.